PostgreSQL Veritabanına Uzaktan Bağlantı Nasıl Yapılır? | DBeaver & PgAdmin Rehberi

Bu rehberde PostgreSQL veritabanına uzaktan bağlantı açmayı adım adım ele alıyoruz. DBeaver, PgAdmin veya diğer SQL istemcileriyle PostgreSQL’e bağlanmak için gerekli postgresql.conf, pg_hba.conf ve güvenlik duvarı ayarlarını öğreneceksiniz.

Kısa özet: PostgreSQL’e uzaktan erişim açmak için listen_addresses ayarını güncellemeniz, pg_hba.conf dosyasında istemci IP’lerine izin vermeniz, servisi yeniden başlatmanız ve 5432 portunu açmanız gerekir.

PostgreSQL’i ilk kez kuruyorsanız şu içeriğe de göz atabilirsiniz: PostgreSQL ve Database içerikleri


PostgreSQL Uzaktan Bağlantı Neden Gerekli?

Varsayılan kurulumda PostgreSQL genellikle yalnızca localhost üzerinden bağlantı kabul eder. Ancak aşağıdaki senaryolarda remote access açmanız gerekir:

  • DBeaver veya PgAdmin ile uzak sunucudaki veritabanına bağlanmak
  • Farklı bir uygulama sunucusunun PostgreSQL’e erişmesini sağlamak
  • Development ve production ortamlarını ayrı sunucularda kullanmak
  • Bulut veya VPS üzerinde çalışan veritabanını yönetmek

1. postgresql.conf Dosyasının Yolunu Bulma

İlk adımda PostgreSQL’in ana yapılandırma dosyası olan postgresql.conf dosyasının yerini öğrenmelisiniz.

psql -c "SHOW config_file;"

Bu komut size config dosyasının tam yolunu döndürür. Dağıtıma ve PostgreSQL sürümüne göre klasör yapısı farklı olabilir.

2. postgresql.conf Dosyasında listen_addresses Ayarını Düzenleme

Uzaktan bağlantıları aktif hale getirmek için listen_addresses ayarını düzenlemeniz gerekir.

sudo nano /etc/postgresql/12/main/postgresql.conf

Dosya içinde şu satırı bulun:

#listen_addresses = 'localhost'

Ve şu şekilde değiştirin:

listen_addresses = '*'

Bu ayar PostgreSQL’in tüm ağ arayüzlerinden bağlantı dinlemesini sağlar. Daha güvenli bir yapı istiyorsanız yıldız yerine belirli IP adresleri tanımlayabilirsiniz.

3. pg_hba.conf Dosyasında Uzaktan Bağlantı İzni Verme

Sadece PostgreSQL’in dinlemesi yetmez; hangi IP’lerin bağlanabileceğini de ayrıca tanımlamanız gerekir. Bunun için pg_hba.conf dosyasını düzenleyin:

sudo nano /etc/postgresql/12/main/pg_hba.conf

Dosyanın sonuna şu satırı ekleyin:

# TYPE  DATABASE        USER    ADDRESS         METHOD
host    all             all     0.0.0.0/0       md5

Bu kural, tüm IP adreslerinden gelen bağlantılara şifre doğrulaması ile izin verir. Production ortamında mümkünse 0.0.0.0/0 yerine sadece ihtiyaç duyulan IP bloğunu yazın.

4. PostgreSQL Servisini Yeniden Başlatma

Yapılandırma değişikliklerinin aktif olması için PostgreSQL servisini yeniden başlatın:

sudo systemctl restart postgresql

Sunucu tarafında bağlantı sorunları yaşamamak için yeniden başlatma sonrası servis durumunu kontrol etmeniz faydalı olur.

5. Güvenlik Duvarında 5432 Portunu Açma

PostgreSQL’in varsayılan portu 5432’dir. Eğer sunucuda firewall aktifse bu portu açmanız gerekir:

sudo ufw allow 5432

Eğer sunucunuz bulut ortamında çalışıyorsa ayrıca sağlayıcının güvenlik grubu veya network ACL ayarlarını da kontrol etmelisiniz.

6. DBeaver veya PgAdmin ile PostgreSQL Bağlantısını Test Etme

Tüm adımlar tamamlandıktan sonra DBeaver, PgAdmin veya TablePlus gibi istemcilerle bağlantı kurabilirsiniz. Gerekli alanlar genellikle şunlardır:

  • Host: Sunucu IP adresi veya domain
  • Port: 5432
  • Database: Veritabanı adı
  • Username: PostgreSQL kullanıcı adı
  • Password: PostgreSQL şifresi

Eğer bağlantı başarısız olursa şu noktaları kontrol edin:

  • listen_addresses doğru mu?
  • pg_hba.conf içinde doğru IP’ye izin verildi mi?
  • 5432 portu firewall’da açık mı?
  • PostgreSQL servisi ayakta mı?

Production Ortamı İçin Güvenlik Tavsiyeleri

PostgreSQL uzaktan bağlantı açarken güvenlik kritik öneme sahiptir. Aşağıdaki önerileri uygulamanız faydalı olur:

  • 0.0.0.0/0 yerine yalnızca izinli IP’leri tanımlayın
  • Güçlü kullanıcı adı ve parola kullanın
  • Mümkünse VPN veya bastion host üzerinden erişim sağlayın
  • Veritabanını public internete tamamen açık bırakmayın
  • SSL/TLS yapılandırmasını değerlendirin

Sonuç

Bu rehberde PostgreSQL veritabanına uzaktan bağlantı açma sürecini adım adım ele aldık. postgresql.conf, pg_hba.conf, servis yeniden başlatma ve firewall ayarları doğru yapıldığında DBeaver ve PgAdmin gibi araçlarla veritabanınıza kolayca bağlanabilirsiniz.

PostgreSQL performansı ve sorgu optimizasyonu ile ilgileniyorsanız şu içeriğe de göz atabilirsiniz: Daha fazla PostgreSQL içeriği

Takip etmeyi unutmayın 😊

Latest Software Developers - Yazılım Blog Yazarı Profil Resmi

Yazar

LatestSoftwareDevelopers

Blog where the most up-to-date software is followed. (En güncel yazılımların takip edildiği blog sitesi)

Database ile ilgili yorumlar

Yorum Paylaş

EMail Zorunlu alanlar * *